package com.hst.capacity.infra.persistence.mybatis;

import com.hst.capacity.domain.model.request.driver.DriverSearchParam;
import com.hst.capacity.domain.model.response.driver.DriverBandCarVO;
import com.hst.capacity.domain.model.response.driver.DriverPagingVO;
import com.hst.capacity.domain.model.response.driver.OrderPoolDriverPagingVO;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface DriverMapper {

    DriverBandCarVO findDriverEntityByIdDriver(String idDriver);

    List<DriverPagingVO> searchWithConditionsAndPaging(DriverSearchParam param);
    Long searchWithConditionsAndPagingTotal(DriverSearchParam param);

    List<DriverPagingVO> stpDriverSearchPaging(DriverSearchParam param);
    Long stpDriverSearchPagingTotal(DriverSearchParam param);

    List<DriverPagingVO> cityLineDriverSearchPaging(DriverSearchParam param);
    Long cityLineDriverSearchPagingTotal(DriverSearchParam param);

    List<OrderPoolDriverPagingVO> orderPoolDriverSearchPaging(DriverSearchParam param);
    Long orderPoolDriverSearchPagingTotal(DriverSearchParam param);

    Boolean updateStatus(String idDriver, Integer status);
}
